- Optical bounds editing now works properly even if no optical bounds classes have been defined yet.
- Adding a glyph to an optical bounds class now causes that glyph to take on the class's optical bounds value. If the Optical Bounds List or Edit views are open, they will be refreshed to show the new value.
• OPTICAL BOUNDS: Class-based optical bounds editing has been implemented. The user may now specify any number of optical bounds classes for each of the four directions: Left, Right, Top, and Bottom. Within a class belonging to a particular direction, all of the glyphs have the same optical bounds value for that direction.
• KERNING: The 'kern' table editor now has a powerful 'Add As' feature. It permits the automatic generation of multiple kerning pairs for classes of glyphs that behave like some other glyph for which kerning pairs have already been defined.
• FEATURE REGISTRY CHANGES: The 'mort' editor now supports the following changes to the Feature Registry:
- "Diphthong Ligatures" are now a setting of the "Ligatures" feature type; they no longer have their own feature type.
- The "Letter & Number Case" feature type has been renamed to the "Letter Case" feature type.
- The "Rearrangement" feature type and setting have been renamed to "Linguistic Rearrangement".
- The "Overlapping Glyphs" feature type has been renamed to "Overlapping Characters".
- The "Glyph Alternatives" feature type has been renamed to "Character Alternatives". The first setting for this feature type has been renamed from "Standard Set" to "No Alternates".
- The "Letter Shape" feature type has been renamed to "Design Complexity". Its settings have been renamed from "Plain", "Italic", "Chancery", "Chancery 2", "Chancery 3" to "Design Level 1", "Design Level 2", "Design Level 3", "Design Level 4", "Design Level 5".
- The "Drawing Style" feature type has been renamed to "Style Options". Its "Unadorned" setting has been renamed to "No Style Options", and its "Engraved" setting has been renamed to "Engraved Text".
- The "Design Complexity" feature type has been renamed to "Character Shape". Its settings have been renamed from "Traditional", "Simplified" to "Traditional Characters", "Simplified Characters".
- A new "Number Case" feature type has been added. Its settings are "Lower Case Numbers" and "Upper Case Numbers".
• DRAG LAUNCHING: Can now drag a font to the TrueEdit icon to launch TrueEdit and open the font.
• SAVE AS: Can now save a font as a different file, which can be in any one of three file formats: Font File, Font Suitcase, or Bass (Royal T) File.
• GLYPH CLASSES: It is now possible to create and edit named classes of glyphs. This information is stored in a new table called the 'clas' table. To create glyph classes, just create a new 'clas' table, open it up, and select Add Entry to add some classes. To add glyphs to a class, double-click on its name in the class list, and drag in glyphs from the Glyph Palette. To remove glyphs from a class, select the glyphs to be removed and press the 'delete' key. (NOTE: Glyph Classes will be used by GXWrite to create proofing documents; they will also be used by subsequent versions of TrueEdit to speed up the editing of various tables, such as Optical Bounds.)
• MAIN 'TABLES' WINDOW: The New Table dialog now presents a popup menu containing descriptive names for all the legal TrueType tables. It is no longer necessary to know the 4-character tag of a table in order to create it.
• NAME TABLE: The Add Entry dialog now permits the addition of a name string having an arbitrary name index.
BUG FIXES
• RESTART/SHUTDOWN: Restarting or shutting down the machine while TrueEdit is open no longer causes the Finder to "hang" waiting for TrueEdit to quit.
• OPENING/CLOSING FONTS:
- When opening a suitcase, TrueEdit now uses the FOND style bits in displaying the names of the fonts inside the suitcase, appending "-Bold", "-Italic", or "-Bold-Italic" as appropriate.
- Editing a font inside a suitcase so that it shrinks in size now causes a corresponding shrinkage in the size of the enclosing suitcase.
• MAIN 'TABLES' WINDOW: Multiple selected entries no longer appear when opening and closing tables.
• BASELINE TABLE: Clicking on a baseline in the 'bsln' edit window no longer causes spurious rounding of the baseline value to occur.
• NAME TABLE:
- The Language menu in the Add/Edit Entry dialog has been expanded to include the same languages as appear in the 'cmap' Language menu. (This fixes the problem where some languages were showing up in the 'name' table as numbers rather than names.)
- Name strings specified in the Add/Edit Entry dialog now have any leading or trailing spaces removed from them automatically before they are stored in the 'name' table.
- Feature sets no longer exist. When you open the 'feat' table you will get just a hex dump.
• MORT:
- The 'mort' table editor has been revved to support the newest version of the Feature Registry.
- The Get Info dialog that can be opened for each feature setting now has an additional Default check box. Use this check box to specify that a feature setting is to be turned on by default.
• 'POST' TABLE. It is now possible to create a new 'post' table from scratch. The standard PostScript names will be assigned to glyphs #0-257; to glyphs beyond that range, names of the form "glyphNNNNN" will be assigned, where "NNNNN" is the glyph ID. (The names still cannot be edited; that capability will be added in a future release.)
• 'OS/2' TABLE. The OS/2 table has been implemented.
• 'MORT' TABLE. The feature settings that can be defined correspond to the updated version of the Feature Registry document. In particular, a new feature type, Glyph Alternatives, has been implemented.
• CHECKSUM ERROR FIXING. Currently, if the user tries to save a font having a table that contains a bad checksum, a dialog will be displayed with two buttons, allowing the user either to ignore the bad checksum or to abort the save. A third button has been added, allowing the user to specify that the bad checksum should be fixed.
BUG FIXES
• MAIN TABLES WINDOW. The main "Tables of" window for a font no longer flashes annoyingly every time the size of a font table changes. Also, the selected entry is now unhighlighted when the window becomes inactive.
• 'MORT' TABLE. When the Add Feature Setting dialog of the 'mort' editor is opened, the feature and setting popup menus are now positioned at the items that were selected the last time the dialog was opened. Line Finals now form correctly even if there is a whitespace glyph at the end of the line.
• 'NAME' TABLE. Name strings beyond the standard set of eight (Copyright through Trademark) now have name IDs assigned to them dynamically, starting from 256. This name ID appears as a number (rather than a label) in the 'name' window. When a name string is added to or removed from the name table while editing any of the font tables, the 'name' window is now updated automatically (if open).
• 'CMAP' TABLE. It is now possible to create and edit cmaps for most of the world's languages.
• 'TRnn' TABLES. When one of the 'mort' or 'kern' subtables is deleted, the corresponding 'TRnn' source table is now deleted as well. When the 'just' table is deleted, the corresponding 'TRnn' source table is also deleted. When the entire 'mort' or 'kern' table is deleted, all the corresponding 'TRnn' source tables are also deleted.
• GLYPH PALETTE. Each glyph id in the glyph palette is now displayed in the upper-left corner of the glyph square, to avoid colliding with the glyph image. (This is identical to the placement of the glyph id when the glyph palette is printed.) When the Glyph Palette is printed, the title is no longer trashed.
- Closing and reopening the optical bounds edit window no longer causes the Bounds popup menu to disappear.
- Running out of memory while trying to grow the optical bounds edit window no longer crashes the system; instead, an error message is displayed and the window is closed.
• OPTICAL BOUNDS: The 'opbd' table editor has been completely rewritten. It offers the following improvements over the old version:
- The glyph being edited is now displayed in context, i.e. is bracketed by a pair of glyphs that can be chosen by the user.
- A glyph's optical bounds can be changed by dragging the glyph with respect to any one of four margin lines (left, right, top, or bottom). The placement of the glyph relative to the margin lines is more accurate than in the old version.
- Numeric values for the optical bounds can be entered directly into the TextEdit box appearing in the subtitle bar of the window. It is not necessary to bring up a dialog box.
- A newly created 'opbd' table now has a very small size, which increases as you edit additional glyphs. If you edit a glyph so that all four of its optical bounds become zero, its entry will be removed from the 'opbd' table, thereby reducing the table's size.
• INTERPROCESS COMMUNICATION WITH LILAPROF: It is no longer necessary to close windows or fonts when switching between TrueEdit and LilaProf. Changes made to a font in TrueEdit are communicated to LilaProf via AppleEvents. Can edit an sfnt in TrueEdit and immediately see the results of the edit in LilaProf. (Use LilaProf version 0.4.2b or later.)
• KERNING: A new Edit Kerning Values window allows any kerning combination to be viewed in context, i.e. to be embedded in a string of user-specified glyphs. Also, the kerning distances shown in this window are now cumulative, i.e. they are the sum of any applicable kerning values contained in the various kerning subtables. This means that the kerning distances displayed are identical to those displayed by any Line Layout application (such as LilaProf).
• MORT: The Letter Case: Upper Initials feature setting has been implemented. Also, the Typographic Niceties and Figure Typesetting feature types have been implemented.
• BASELINES: Can now edit the baseline positions by dragging the baselines in the edit window.
• It is now possible (via the "Get Info" menu item) to specify which 'mort' feature settings should be turned on by default.
• Whenever the first setting for a new feature type is added to the 'mort' table, TrueEdit automatically adds the 'Disable' or 'None' setting for that feature type. (This gives the user a way to turn off any feature setting that may be on by default.)
• It is now possible (via the "Get Info" menu item) to organize the 'mort' feature settings into Feature Sets.
• The 'mort' Vertical Substitution feature type has been implemented.
• Contextual kerning (format 1 kerning) has been implemented.
• The 'fdsc' table has been implemented.
BUG FIXES
• Double-clicking on a selected range of glyphs in the Glyph Palette of a large font no longer causes a crash.
• Repeatedly opening and closing a dialog box no longer causes it to grow slowly in height and width.
• Simple 'just' tables may now be created and edited.
• You are warned if you try to edit a font that has been checked out "Read-Only".
• Bass files may now be edited.
BUG FIXES
• The data generated by the "Fractions: Construct" feature setting of 'mort' is now in conformance with the mods added to Line Layout to support start- and end-of-line processing. This change is invisible to the user; it was made solely to keep TrueEdit compatible with the GX init.
• The user interface for the Ligatures feature of 'mort' has been simplified: The user may now enter glyphs in any order, and the entries will not be sorted until s/he closes and reopens the window. Also, multiple glyphs may be dropped on the Ligature column of the blank entry at the end of the table.
BUG FIXES
• The data generated by the Ligatures feature of 'mort' is now in conformance with the mods added to Line Layout to support start- and end-of-line processing. This change is invisible to the user; it was made solely to keep TrueEdit compatible with the GX init.
• The 'Elevation' feature of the 'mort' table has been implemented.
• It is now possible to open 'kern' tables that are in the new format (the one that Eric Mader designed to overcome the "Microsoft problem"). In addition, 'kern' tables in the old format are automatically converted (with the user's permission) to the new format.
• Autoscrolling of hex windows has been implemented.
BUG FIXES
• The 'name' table is now displayed using the default application font for the native script system. This means that, for example, the 'name' table of a Kanji font will be displayed correctly on a Kanji system; there should be no garbage characters or missing glyphs.